package io;

import java.io.*;

/**
 * 缓冲流：缓冲的意思是加速
 * 是一对处理流，也称高级流，在流链接中的作用是保证读写数据的效率
 * 内部维护一个默认8192（8kb）长的字节数组，总是以块读写的形式来进行传输
 */
public class CopyDemo3 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("image.png");
        BufferedInputStream bis = new BufferedInputStream(fis);

        FileOutputStream fos = new FileOutputStream("image_cp.png");
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        //BufferedOutputStream bos = new BufferedOutputStream(fos,1024*10),后边追加的值是int，来设置成块的大小
        int d;
        long start = System.currentTimeMillis();
        while((d= bis.read())!=-1){
            bos.write(d);
        }
        long end =System.currentTimeMillis();
        System.out.println("复制完毕，耗时："+(end-start));
        bis.close();
        bos.close();
    }

}
